﻿#region Using Directives

    using System;
    using System.Collections.Generic;

    using Csla;

#endregion

namespace MarketPulse.BusinessLogic.Core
{
    /// <summary>
    /// Base read only business object list class that all read only business object lists i.e. those that would inherit
    /// directly from ReadOnlyListBase, should inherit from.
    /// </summary>
    /// <typeparam name="T">Must be derive from MarketPulseReadOnlyListBase (this class)</typeparam>
    /// <typeparam name="C">Element of the collection.  Must be derive from MarketPulseReadOnlyBase</typeparam>
    [Serializable]
    public abstract class MarketPulseReadOnlyListBase<T, C> : ReadOnlyListBase<T, C> where T : MarketPulseReadOnlyListBase<T, C>
    {

        ///// <summary>
        ///// Method used to find a single object from the collection based on the unique identifier supplied
        ///// </summary>
        ///// <param name="guid">The guid that uniquely identifies the object to find</param>
        ///// <returns>A valid object (populated or empty)</returns>
        //public C FindByGuid(Guid guid)
        //{
        //    var result = (from item in this.Items
        //                  where item.GUID == guid
        //                  select item).Single();

        //    return (C)result;
        //}
    }
}
